1. Technical Field
This patent document generally relates to font data processing, and in particular relates to providing font data to client devices.
2. Description of the Related Art
A font is a set of characters of a particular typeface design and size. The typeface is the particular design of a set of printed characters, such as Courier, Helvetica or Times Roman. Related characters typically comprise a script, such as Latin, Greek, Hiragana, Katakana or Han, subsets of which are used to write a particular language. Glyphs are the visual element used to represent the characters; glyphs are the actual shape of a character image. Aspects of text presentation such as font and style apply to glyphs. For example, an italic Times font of the character “c” and a bold Times font of the character “c” each have corresponding glyphs.
There are three basic font types: Bitmap, Outline and Stroke. Bitmap fonts are stored as graphic images of characters with each point size of a typeface stored as a separate font. Each character is stored as an array of pixels (a bitmap). Outline fonts, such as TrueType™ fonts, are produced from information about the shape, or outline, of the glyphs. The outline is defined as a set of lines and curves. Outline fonts facilitate scaling and other effects better than bitmap fonts, and require less storage space than bitmap fonts. Stroke fonts are those in which the shapes of the characters, as represented by glyphs, are represented by strokes. A stroke is typically defined by a line and curves.
Fonts are typically stored in a memory in a client device. One such client device is a mobile communication device. Because a mobile device often has limited memory and processing resources, the number of fonts stored on the mobile device and the font processing capability of the mobile device is likewise limited.
Electronic data transfers addressed to the mobile device typically include font data for rendering text. Electronic data transfers may include e-mail messages, documents, Wireless Access Protocol (WAP) decks, or other types of transmitted electronic data. The font data may comprise the actual font data structure, e.g., an entire set of characters of a particular typeface design and size, or may instead comprise an identifier of a particular font type, e.g., Courier 12 point. If the font data in the electronic data transfer identifies a font type to be used to render text associated with the electronic data transfer, but does not include the actual font data, then the actual font data must be available in the mobile device memory for the text to be rendered correctly. If the mobile device memory does not include the actual font data of the font type to be used, then the text may be rendered incorrectly, and/or the mobile device may have to issue a request for the actual font data after receiving the electronic data transfer.